#  标记完所有数据然后形成日志
'''
import os

from Agent.DeepSeaAgent import deep_sea_agent
import pandas as pd

# 生成日期范围
start_date = '2024-09-25'
end_date = '2024-10-25'
date_range = pd.date_range(start=start_date, end=end_date)

# 将日期转换为指定格式的字符串
formatted_dates = date_range.strftime('%Y-%m-%d')
if not os.path.exists('log2'):
    os.mkdir('log2')
# 打印结果以确认
for date in formatted_dates:
    question=f'请分析 {date} 有没有深海作业A，如果有，是下放还是回收，各个动作的具体时间，以及最后征服者是在海底还是被回收？'
    print(date)

    log = deep_sea_agent.run(question)

    with open(f'log2/log{date}.txt', 'w',encoding='utf8') as f:
        f.write(log)

'''
# 把从日志抽取各个行动时间

"""
import pandas as pd
import os
from llm import llm4,super_eval

prompt = '''
以下是分析日志，请将里面的日志按照以下json格式输出：
日期可以从日志名称中提取。
日志名称为:[日志名称]
```json
[
{"动作名词":"","时间":"","阶段":"下放/回收/未知"},
{"动作名词":"","时间":"","阶段":"下放/回收/未知"},
{"动作名词":"","时间":"","阶段":"下放/回收/未知"},
...
]
```
其中 动作名词 的可选集合 为：
{'征服者落座', '折臂吊车关机', '小艇落座', 'ON DP', '小艇检查完毕', '征服者起吊', '征服者入水', 'A架摆回', '征服者出水', 'A架开机', 'A架关机', 'OFF DP', '缆绳解除', 'A架摆出', '小艇入水', '折臂吊车开机', '缆绳挂妥'}

时间格式为：yyyy-mm-dd hh:mm:ss 示例： 2024-09-25 09:50:00
请你从结果中提取json，如果当日没有发生这些动作，返回空列表。
列表，按照时间顺序返回。
日志内容为：
---
[日志内容]
---
请输出json:
'''

li = []

for i in os.listdir('./log2'):
    with open(os.path.join('./log2', i), 'r', encoding='utf-8') as f:
        text = f.read()
        answer = llm4(prompt.replace('[日志名称]', i).replace('[日志内容]', text))

        li.extend(super_eval(answer))

df = pd.DataFrame(li)
df.to_excel("agent_mark.xlsx")



import pandas as pd

data1 = pd.read_excel('mark3.xlsx')

dic1 = {}
for i,j in zip(data1['actionName'],data1['deviceName']):
    dic1[i] = j

data2 = df

s1 = {'A架关机', 'A架开机', 'A架摆回', '缆绳解除', '征服者出水', '征服者起吊', 'A架摆出', '征服者入水', '缆绳挂妥',
      '征服者落座'}

data2 = data2[data2['动作名词'].isin(s1)]
data1 = data1[data1['actionName'].apply(lambda x: x not in s1)]

data1  = data1.to_dict(orient='records')

data2 = data2.to_dict(orient='records')

print(data1, data2)

data3 = []
for i in data2:

    data3.append({'Unnamed: 0': 1,
                  'csvTimeMinute': i['时间'][:-3],
                  'csvTime': i['时间'],
                  'actionName': i['动作名词'],
                  'deviceName': dic1.get(i['动作名词']),
                  'actionType': i['阶段']})

data1.extend(data3)

pd.DataFrame(data1).to_excel('mark9.xlsx',index=False)
import pandas as pd

data = pd.read_excel('mark9.xlsx')
del data['Unnamed: 0']

data = data.sort_values(by=['csvTimeMinute'])
data.to_excel('mark9.xlsx',index=False)
"""


